//
//  RSRefreshTableView.h
//  StaffTax
//
//  Created by 侯伟 on 2020/1/10.
//  Copyright © 2020 侯伟. All rights reserved.
//
// tableview

#import <UIKit/UIKit.h>
#import "UITableView+Refresh.h"
#import "LYEmptyView.h"
NS_ASSUME_NONNULL_BEGIN


@class RSRefreshTableView;

@protocol RSRefreshTableViewDelegate <NSObject>

- (void)tableView:(RSRefreshTableView*)tableView refreshType:(RefreshType)refreshType;

@end

@interface RSRefreshTableView : UITableView

@property(nonatomic,assign) id<RSRefreshTableViewDelegate> refreshDelegate;

/// 是否允许下拉刷新 默认 YES
@property(nonatomic,assign)BOOL refreshEnabled;

/// 是否允许加载更多 默认 YES
@property(nonatomic,assign)BOOL loadMoreEnabled;

/// 是否允许显示占位图 默认 NO
@property(nonatomic,assign)BOOL enbaleEmptyView;


/// 分页大小 用户控制加载更多的时候 是否可以继续加载
@property(nonatomic,assign) NSInteger pageSize;

/// 分页数据总量
@property(nonatomic,assign) NSInteger total;


/// 无数据占位图 需要手动设置 文字图片等
@property(nonatomic,strong,nullable)LYEmptyView* emptyView;

/// 数据错误展占位图 需要手动设置 文字图片等
@property(nonatomic,strong,nullable)LYEmptyView* errorView;

/// 加载图
@property(nonatomic,strong,nullable)LYEmptyView* loadEmptyView;

/// 刷新数据
/// @param refreshType 刷新类型
- (void)refreshData:(RefreshType)refreshType;

/// 数据更新
/// @param data 新数据
/// @param refreshType 刷新类型
- (void)updateData:(NSArray*)data refreshType:(RefreshType)refreshType isSuccess:(BOOL)isSuccess;

/// 结束刷新 一般情况下 不需要手动调用
/// @param refreshType 刷新类型
/// @param isNoMoreData 是否有更多数据
- (void)endRefresh:(RefreshType)refreshType isNoMoreData:(BOOL)isNoMoreData;

@end

NS_ASSUME_NONNULL_END
